<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>jsx语法规则</title>
    <style>
      .title {
        background-color: #0097df;
      }
    </style>
  </head>
  <body>
    <!-- 准备好一个容器 -->
    <div id="root"></div>

    <!-- 引入react核心库 -->
    <script type="text/javascript" src="../js/react.development.js"></script>
    <!-- 引入react-dom 用于支持react操作dom -->
    <script
      type="text/javascript"
      src="../js/react-dom.development.js"
    ></script>
    <!-- 引入babel 将js转换成jsx -->
    <script type="text/javascript" src="../js/babel.min.js"></script>

    <!-- type="text/babel" 表示写的是 jsx 使用babel 翻译 -->
    <script type="text/babel">
      let myId = "title";
      let myData = "Hello React";
      // 1.创建虚拟dom  此处一定不要写引号，不是字符串
      const virtualDom = (
        <h1 className="title" id={myId.toLowerCase()}>
          <span style={{ color: "pink", fontSize: "28px" }}>{myData}</span>
        </h1>
      );

      // 2.渲染页面到元素
      // ReactDOM.render("虚拟dom","容器")
      ReactDOM.render(virtualDom, document.getElementById("root"));
      /*
        jsx语法规则：
            1. 定义虚拟DOM是，不要写引号
            2. 想在虚拟DOM中混入js表达式时使用 {}
            3. 样式的类名不要使用class 要使用className
            4. 内联样式，要用sty1e={{key:value}}的形式去写。
            5. 只能有一个根标签
            6. 标签必须闭合
            7. 标签首字母
                (1),若小写字母开头，则将改标签转为html中同名元素，若html中无该标签对应的同名元素，则报错。
                (2).若大写字母开头，reacti就去渲染对应的组件，若组件没有定义，则报错。
      
      */
    </script>
  </body>
</html>
